package com.jx.smartbot.VO.callback;

import java.util.List;

import com.fasterxml.jackson.annotation.JsonIgnore;
//import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty;
//@JsonAutoDetect
@JsonInclude(Include.NON_NULL) 
public class Tool {
	@JsonInclude(Include.NON_NULL) 
	public static class Elements {
		
		@JsonProperty(value = "UserData")
		UserData userData = null;
		
		@JsonProperty(value = "Id")
		private int id;
		
		@JsonProperty(value = "ToolClassId")
		private int toolClassId;
		
		@JsonProperty(value = "Name")
		private String name;
		
		@JsonProperty(value = "Description")
		private String description;
		
		@JsonProperty(value = "Logo")
		private String logo;
		
		@JsonProperty(value = "Keyword")
		private String keyword;
		@JsonProperty(value = "AppId")
		//@JsonIgnore
		private String appId;
		@JsonProperty(value = "AppKey")
		//@JsonIgnore
		private String appKey;
		@JsonProperty(value = "IsAutoGroups")
		private int isAutoGroups;
		@JsonProperty(value = "AssistantId")
		private int assistantId;
		
		@JsonProperty(value = "AssistantName")
		private String assistantName;
		
		@JsonProperty(value = "MobileAddress")
		private String mobileAddress;
		
		@JsonProperty(value = "Address")
		private String address;
		
		@JsonProperty(value = "PcAddress")
		private String pcAddress;
		@JsonProperty(value = "NativeAddress")
		//@JsonIgnore
		private String nativeAddress;
		@JsonProperty(value = "ManagerAddress")
		//@JsonIgnore
		private String managerAddress;
		@JsonProperty(value = "CreateTime")
		//@JsonIgnore
		private long createTime;
		@JsonProperty(value = "UpdateTime")
		//@JsonIgnore
		private long updateTime;
		@JsonProperty(value = "IsPrivate")
		//@JsonIgnore
		private int isPrivate;
		@JsonProperty(value = "LightAppId")
		//@JsonIgnore
		private String lightAppId;
		@JsonProperty(value = "SuperAppId")
		//@JsonIgnore
		private String superAppId;
		@JsonProperty(value = "Status")
		private int status;
		@JsonProperty(value = "FirstToolClassName")
		//@JsonIgnore
		private String firstToolClassName;
		@JsonProperty(value = "SecondToolClassName")
		//@JsonIgnore
		private String secondToolClassName;

		public int getId() {
			return id;
		}

		public void setId(int id) {
			this.id = id;
		}

		public int getToolClassId() {
			return toolClassId;
		}

		public void setToolClassId(int toolClassId) {
			this.toolClassId = toolClassId;
		}

		public String getName() {
			return name;
		}

		public void setName(String name) {
			this.name = name;
		}

		public String getDescription() {
			return description;
		}

		public void setDescription(String description) {
			this.description = description;
		}

		public String getLogo() {
			return logo;
		}

		public void setLogo(String logo) {
			this.logo = logo;
		}

		public String getKeyword() {
			return keyword;
		}

		public void setKeyword(String keyword) {
			this.keyword = keyword;
		}

		public String getAppId() {
			return appId;
		}

		public void setAppId(String appId) {
			this.appId = appId;
		}

		public String getAppKey() {
			return appKey;
		}

		public void setAppKey(String appKey) {
			this.appKey = appKey;
		}

		public int getIsAutoGroups() {
			return isAutoGroups;
		}

		public void setIsAutoGroups(int isAutoGroups) {
			this.isAutoGroups = isAutoGroups;
		}

		public int getAssistantId() {
			return assistantId;
		}

		public void setAssistantId(int assistantId) {
			this.assistantId = assistantId;
		}

		public String getAssistantName() {
			return assistantName;
		}

		public void setAssistantName(String assistantName) {
			this.assistantName = assistantName;
		}

		public String getMobileAddress() {
			return mobileAddress;
		}

		public void setMobileAddress(String mobileAddress) {
			this.mobileAddress = mobileAddress;
		}

		public String getPcAddress() {
			return pcAddress;
		}

		public void setPcAddress(String pcAddress) {
			this.pcAddress = pcAddress;
		}

		public String getNativeAddress() {
			return nativeAddress;
		}

		public void setNativeAddress(String nativeAddress) {
			this.nativeAddress = nativeAddress;
		}

		public String getManagerAddress() {
			return managerAddress;
		}

		public void setManagerAddress(String managerAddress) {
			this.managerAddress = managerAddress;
		}

		public long getCreateTime() {
			return createTime;
		}

		public void setCreateTime(long createTime) {
			this.createTime = createTime;
		}

		public long getUpdateTime() {
			return updateTime;
		}

		public void setUpdateTime(long updateTime) {
			this.updateTime = updateTime;
		}

		public int getIsPrivate() {
			return isPrivate;
		}

		public void setIsPrivate(int isPrivate) {
			this.isPrivate = isPrivate;
		}

		public String getLightAppId() {
			return lightAppId;
		}

		public void setLightAppId(String lightAppId) {
			this.lightAppId = lightAppId;
		}

		public String getSuperAppId() {
			return superAppId;
		}

		public void setSuperAppId(String superAppId) {
			this.superAppId = superAppId;
		}

		public int getStatus() {
			return status;
		}

		public void setStatus(int status) {
			this.status = status;
		}

		public String getFirstToolClassName() {
			return firstToolClassName;
		}

		public void setFirstToolClassName(String firstToolClassName) {
			this.firstToolClassName = firstToolClassName;
		}

		public String getSecondToolClassName() {
			return secondToolClassName;
		}

		public void setSecondToolClassName(String secondToolClassName) {
			this.secondToolClassName = secondToolClassName;
		}

		public UserData getUserData() {
			return userData;
		}

		public void setUserData(UserData userData) {
			this.userData = userData;
		}

		public String getAddress() {
			return address;
		}

		public void setAddress(String address) {
			this.address = address;
		}

	}

	@JsonProperty(value = "Index")
	private int index;
	@JsonProperty(value = "Size")
	private int size;
	@JsonProperty(value = "TotalElements")
	private int totalElements;
	@JsonProperty(value = "Elements")
	private List<Elements> elements;

	public int getIndex() {
		return index;
	}

	public void setIndex(int index) {
		this.index = index;
	}

	public int getSize() {
		return size;
	}

	public void setSize(int size) {
		this.size = size;
	}

	public int getTotalElements() {
		return totalElements;
	}

	public void setTotalElements(int totalElements) {
		this.totalElements = totalElements;
	}

	public List<Elements> getElements() {
		return elements;
	}

	public void setElements(List<Elements> elements) {
		this.elements = elements;
	}

}
